package com.mirana.module.common.model.dictpm;

import com.mirana.frame.base.model.BaseModel;
import com.mirana.frame.db.base.anno.ColumnPlus;
import com.mirana.frame.db.base.anno.FKPlus;
import com.mirana.frame.db.base.anno.Notes;
import com.mirana.frame.db.base.anno.TablePlus;
import lombok.Data;

import java.util.Date;

@Data
@Notes("项目售中记录表")
@TablePlus(name = "dict_project_sz")
public class DictProjectSz extends BaseModel {

    @Notes("项目id，外键")
    @ColumnPlus()
    @FKPlus(tableClass = DictProject.class)
    private Long project_id;

    // 移交
    @Notes("移交人id")
    @ColumnPlus()
    private int transfer_user_id;

    @Notes("移交人姓名")
    @ColumnPlus(default_val = "''", length = "20")
    private String transfer_user_name;

    @Notes("移交时间")
    @ColumnPlus()
    private Date transfer_time;

    @Notes("移交备注")
    @ColumnPlus(default_val = "''", length = "200")
    private String transfer_remark;

    // 受理
    @Notes("受理人id")
    @ColumnPlus()
    private int accept_user_id;

    @Notes("受理人姓名")
    @ColumnPlus(default_val = "''", length = "20")
    private String accept_user_name;

    @Notes("受理时间")
    @ColumnPlus()
    private Date accept_time;

    @Notes("受理备注")
    @ColumnPlus(default_val = "''", length = "200")
    private String accept_remark;

    // 状态
    @Notes("移交至售中的状态，默认1，1移交处理中，2，已受理，3已驳回。受理记录表 dict_project_review")
    @ColumnPlus(default_val = "1", length = "2")
    private int transfer_state;

    // 指派
    @Notes("指派给xxid")
    @ColumnPlus()
    private int assign_user_id;

    @Notes("指派给xx姓名")
    @ColumnPlus(default_val = "''", length = "20")
    private String assign_user_name;

    @Notes("指派给xx说明")
    @ColumnPlus(default_val = "''", length = "200")
    private String assign_explain;

    @Notes("指派时间")
    @ColumnPlus()
    private Date assign_time;

    // 项目实施
    @Notes("项目实施方案id")
    @ColumnPlus()
    @FKPlus(tableClass = DictPlanDoc.class, column = "id")
    private Long practice_doc_id;

    // 验收相关
    @Notes("验收时间")
    @ColumnPlus
    private Date check_accept_time;

    @Notes("验收结果，默认0。0尚未验收，1验收通过，2验收不通过")
    @ColumnPlus(default_val = "0", length = "2")
    private int check_accept_result;

    @Notes("是否收款。0未知，1已收款，2未收款")
    @ColumnPlus(default_val = "0", length = "2")
    private int settle_account_state;

    @Notes("收款时间")
    @ColumnPlus
    private Date settle_account_time;

    @Notes("验收人")
    @ColumnPlus(default_val = "''", length = "20")
    private String check_accept_user;

    @Notes("验收备注")
    @ColumnPlus
    private Date check_accept_remark;

    @Notes("验收文档id")
    @ColumnPlus
    @FKPlus(tableClass = DictPlanDoc.class, column = "id")
    private Long check_accept_doc_id;
}
